1661D - Progressions Covering - CodeForces Solution


data structures greedy *1900

Please click on ads to support us..

Python Code:

from sys import stdin, setrecursionlimit
input = stdin.readline
from bisect import bisect_left, bisect_right
from collections import deque
from functools import lru_cache, reduce
from heapq import heappush, heappop
from math import sqrt, ceil, floor, log2

def x(t = int):
    return list(map(t, input().split()))

n, k = x()
a = x()
carry = 0
ret = 0
lastK = 0
d = deque()
for i in range(n - 1, -1, -1):
    need = max(0, a[i] - carry)
    val = min(k, i+1)
    add = ceil(need / val)
    ret += add
    d.append(add)
    if len(d) > k:
        lastK -= d.popleft()
    carry += (val - 1) * add
    carry -= lastK
    
    lastK += add

print(ret)


Comments

Submit
0 Comments
More Questions

873D - Merge Sort
1251A - Broken Keyboard
463B - Caisa and Pylons
584A - Olesya and Rodion
799A - Carrot Cakes
1569B - Chess Tournament
1047B - Cover Points
1381B - Unmerge
1256A - Payment Without Change
908B - New Year and Buggy Bot
979A - Pizza Pizza Pizza
731A - Night at the Museum
742A - Arpa’s hard exam and Mehrdad’s naive cheat
1492A - Three swimmers
1360E - Polygon
1517D - Explorer Space
1230B - Ania and Minimizing
1201A - Important Exam
676A - Nicholas and Permutation
431A - Black Square
474B - Worms
987B - High School Become Human
1223A - CME
1658B - Marin and Anti-coprime Permutation
14B - Young Photographer
143A - Help Vasilisa the Wise 2
320A - Magic Numbers
1658A - Marin and Photoshoot
514A - Chewbaсca and Number
382A - Ksenia and Pan Scales